package com.hoshiicloud.payment.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author Mr.wu
 * @since 2019-05-13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("paylist")
@ApiModel(value = "PaylistVO对象", description = "")
public class PaylistVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "客户订单id")
    @TableField("order_id")
    private String orderId;

    @ApiModelProperty(value = "买家ID")
    @TableField("userid")
    private Long userid;

    @ApiModelProperty(value = "支付流水号")
    @TableField("pay_orderno")
    private String payOrderno;

    @ApiModelProperty(value = "1-消费 2-退款")
    @TableField("pay_type")
    private Integer payType;

    @ApiModelProperty(value = "外部流水号")
    @TableField("pay_outderno")
    private String payOutderno;

    @ApiModelProperty(value = "支付日期时间")
    @TableField("paytime")
    private LocalDateTime paytime;

    @ApiModelProperty(value = "支付金额")
    @TableField("payamount")
    private BigDecimal payamount;

    @ApiModelProperty(value = "手续费")
    @TableField("fees")
    private BigDecimal fees;

    @ApiModelProperty(value = "实到金额")
    @TableField("amount")
    private BigDecimal amount;

    @ApiModelProperty(value = "0-未付款 1-已付款 -1 建议异常")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "汇入账户号")
    @TableField("in_account")
    private String inAccount;

    @ApiModelProperty(value = "汇出账户号")
    @TableField("out_account")
    private String outAccount;

    @ApiModelProperty(value = "渠道  0 weixin 1-alipay 3-cups")
    @TableField("channel")
    private Integer channel;

    @ApiModelProperty(value = "关联单号（销售主单/退款单号")
    @TableField("refno")
    private String refno;

    @ApiModelProperty(value = "回调信息")
    @TableField("callback_message")
    private String callbackMessage;
}
